From 9c52a73c217021be036da382adc5d70e11201215 Mon Sep 17 00:00:00 2001 From: Colin Walters Date: Fri, 25 Nov 2011 17:22:16 -0500 Subject: [PATCH] window: Set a _DBUS_APPLICATION_ID X11 window property This will allow gnome-shell to reference it. --- gtk/gtkwindow.c | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c index a64d0f33af..0581679567 100644 --- a/gtk/gtkwindow.c +++ b/gtk/gtkwindow.c @@ -2681,6 +2681,7 @@ gtk_window_set_application (GtkWindow *window, GtkApplication *application) { GtkWindowPrivate *priv; + GdkWindow *gdkwindow; g_return_if_fail (GTK_IS_WINDOW (window)); @@ -2700,6 +2701,22 @@ gtk_window_set_application (GtkWindow *window, g_object_notify (G_OBJECT (window), "application"); } + +#ifdef GDK_WINDOWING_X11 + gdkwindow = gtk_widget_get_window (GTK_WIDGET (window)); + if (gdkwindow) + { + if (GDK_IS_X11_WINDOW (gdkwindow)) + { + const char *id; + if (application) + id = g_application_get_application_id ((GApplication*)application); + else + id = NULL; + gdk_x11_window_set_utf8_property (gdkwindow, "_DBUS_APPLICATION_ID", id); + } + } +#endif } /** @@ -5201,7 +5218,7 @@ gtk_window_realize (GtkWidget *widget) gdk_window_set_modal_hint (gdk_window, TRUE); else gdk_window_set_modal_hint (gdk_window, FALSE); - + if (priv->startup_id) { #ifdef GDK_WINDOWING_X11 @@ -5224,6 +5241,8 @@ gtk_window_realize (GtkWidget *widget) } #endif + gtk_window_set_application (window, gtk_window_get_application (window)); + /* Icons */ gtk_window_realize_icon (window); -- 2.30.2